#ifndef IVP_H
#define IVP_H

#include "Function.hpp"

class IVP
{
    private:

        // Private members can be added here if needed
    public:
        double x0;
        double y0;
        double t0;
        double t1;
        int n;
        Function_One_Dimension *f;

        IVP(double x0, double y0, double t0, double t1, int n, Function_One_Dimension *f)
            : x0(x0), y0(y0), t0(t0), t1(t1), n(n), f(f) {}

        virtual ~IVP() = default;

        virtual void solve() = 0;

        virtual void print() const = 0;
};



#endif // IVP_H